{ | { | ||||
<<<<<<< HEAD | |||||
======= | |||||
"name": "etc-project", | "name": "etc-project", | ||||
>>>>>>> 1773229aa281664dd3e6faab09b9569c166b3dc3 | |||||
"version": "0.0.0", | "version": "0.0.0", | ||||
"lockfileVersion": 2, | |||||
"lockfileVersion": 1, | |||||
"requires": true, | "requires": true, | ||||
<<<<<<< HEAD | |||||
======= | |||||
"packages": { | "packages": { | ||||
"": { | "": { | ||||
"version": "0.0.0", | "version": "0.0.0", | ||||
"dev": true | "dev": true | ||||
} | } | ||||
}, | }, | ||||
>>>>>>> 1773229aa281664dd3e6faab09b9569c166b3dc3 | |||||
"dependencies": { | "dependencies": { | ||||
"@babel/helper-validator-identifier": { | "@babel/helper-validator-identifier": { | ||||
"version": "7.15.7", | "version": "7.15.7", | ||||
"@element-plus/icons-vue": { | "@element-plus/icons-vue": { | ||||
"version": "1.1.4", | "version": "1.1.4", | ||||
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz", | "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz", | ||||
"integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==", | |||||
"requires": {} | |||||
"integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==" | |||||
}, | }, | ||||
"@eslint/eslintrc": { | "@eslint/eslintrc": { | ||||
"version": "1.0.4", | "version": "1.0.4", | ||||
"version": "1.10.2", | "version": "1.10.2", | ||||
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-1.10.2.tgz", | "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-1.10.2.tgz", | ||||
"integrity": "sha512-/QJ0Z9qfhAFtKRY+r57ziY4BSbGUTGsPRMpB/Ron3QPwBZM4OZAZHdTa4a8PafCwU5DTatXG8TMDoP8z+oDqJw==", | "integrity": "sha512-/QJ0Z9qfhAFtKRY+r57ziY4BSbGUTGsPRMpB/Ron3QPwBZM4OZAZHdTa4a8PafCwU5DTatXG8TMDoP8z+oDqJw==", | ||||
"dev": true, | |||||
"requires": {} | |||||
"dev": true | |||||
}, | }, | ||||
"@vue/compiler-core": { | "@vue/compiler-core": { | ||||
"version": "3.2.22", | "version": "3.2.22", | ||||
"vue-demi": { | "vue-demi": { | ||||
"version": "0.12.4", | "version": "0.12.4", | ||||
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.12.4.tgz", | "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.12.4.tgz", | ||||
"integrity": "sha512-ztPDkFt0TSUdoq1ZI6oD730vgztBkiByhUW7L1cOTebiSBqSYfSQgnhYakYigBkyAybqCTH7h44yZuDJf2xILQ==", | |||||
"requires": {} | |||||
"integrity": "sha512-ztPDkFt0TSUdoq1ZI6oD730vgztBkiByhUW7L1cOTebiSBqSYfSQgnhYakYigBkyAybqCTH7h44yZuDJf2xILQ==" | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"version": "5.3.2", | "version": "5.3.2", | ||||
"resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz", | "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz", | ||||
"integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", | "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", | ||||
"dev": true, | |||||
"requires": {} | |||||
"dev": true | |||||
}, | }, | ||||
"ajv": { | "ajv": { | ||||
"version": "6.12.6", | "version": "6.12.6", | ||||
"version": "8.3.0", | "version": "8.3.0", | ||||
"resolved": "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-8.3.0.tgz?cache=0&sync_timestamp=1619270475218&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-config-prettier%2Fdownload%2Feslint-config-prettier-8.3.0.tgz", | "resolved": "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-8.3.0.tgz?cache=0&sync_timestamp=1619270475218&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-config-prettier%2Fdownload%2Feslint-config-prettier-8.3.0.tgz", | ||||
"integrity": "sha1-90cbILb+ipqSVMxoRFQgKIai3Xo=", | "integrity": "sha1-90cbILb+ipqSVMxoRFQgKIai3Xo=", | ||||
"dev": true, | |||||
"requires": {} | |||||
"dev": true | |||||
}, | }, | ||||
"eslint-plugin-prettier": { | "eslint-plugin-prettier": { | ||||
"version": "4.0.0", | "version": "4.0.0", | ||||
"graceful-fs": { | "graceful-fs": { | ||||
"version": "4.2.9", | "version": "4.2.9", | ||||
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.9.tgz", | "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.9.tgz", | ||||
"integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", | |||||
"devOptional": true | |||||
"integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" | |||||
}, | }, | ||||
"has": { | "has": { | ||||
"version": "1.0.3", | "version": "1.0.3", | ||||
"lodash-unified": { | "lodash-unified": { | ||||
"version": "1.0.2", | "version": "1.0.2", | ||||
"resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.2.tgz", | "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.2.tgz", | ||||
"integrity": "sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==", | |||||
"requires": {} | |||||
"integrity": "sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==" | |||||
}, | }, | ||||
"lodash.merge": { | "lodash.merge": { | ||||
"version": "4.6.2", | "version": "4.6.2", | ||||
"ms": { | "ms": { | ||||
"version": "2.1.2", | "version": "2.1.2", | ||||
"resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", | "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", | ||||
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", | |||||
"devOptional": true | |||||
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" | |||||
}, | }, | ||||
"nanoid": { | "nanoid": { | ||||
"version": "3.3.2", | "version": "3.3.2", | ||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | ||||
"dev": true | "dev": true | ||||
}, | }, | ||||
<<<<<<< HEAD | |||||
"ssf": { | |||||
"version": "0.11.2", | |||||
"resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz", | |||||
"integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", | |||||
"requires": { | |||||
"frac": "~1.1.2" | |||||
======= | |||||
"string_decoder": { | "string_decoder": { | ||||
"version": "1.1.1", | "version": "1.1.1", | ||||
"resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", | "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", | ||||
"dev": true, | "dev": true, | ||||
"requires": { | "requires": { | ||||
"safe-buffer": "~5.1.0" | "safe-buffer": "~5.1.0" | ||||
>>>>>>> 1773229aa281664dd3e6faab09b9569c166b3dc3 | |||||
} | } | ||||
}, | }, | ||||
"string-width": { | "string-width": { | ||||
"strip-ansi": "^6.0.1" | "strip-ansi": "^6.0.1" | ||||
} | } | ||||
}, | }, | ||||
"string_decoder": { | |||||
"version": "1.1.1", | |||||
"resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", | |||||
"integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", | |||||
"dev": true, | |||||
"requires": { | |||||
"safe-buffer": "~5.1.0" | |||||
} | |||||
}, | |||||
"strip-ansi": { | "strip-ansi": { | ||||
"version": "6.0.1", | "version": "6.0.1", | ||||
"resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz", | "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz", | ||||
"vue-fragment": { | "vue-fragment": { | ||||
"version": "1.5.2", | "version": "1.5.2", | ||||
"resolved": "https://registry.npmmirror.com/vue-fragment/-/vue-fragment-1.5.2.tgz", | "resolved": "https://registry.npmmirror.com/vue-fragment/-/vue-fragment-1.5.2.tgz", | ||||
"integrity": "sha512-KEW0gkeNOLJjtXN4jqJhTazez5jtrwimHkE5Few/VxblH4F9EcvJiEsahrV5kg5uKd5U8du4ORKS6QjGE0piYA==", | |||||
"requires": {} | |||||
"integrity": "sha512-KEW0gkeNOLJjtXN4jqJhTazez5jtrwimHkE5Few/VxblH4F9EcvJiEsahrV5kg5uKd5U8du4ORKS6QjGE0piYA==" | |||||
}, | }, | ||||
"vue-loader": { | "vue-loader": { | ||||
"version": "16.8.3", | "version": "16.8.3", |
:label-width="formLabelWidth"> | :label-width="formLabelWidth"> | ||||
<!-- 输入框 --> | <!-- 输入框 --> | ||||
<div style="width: 100%;" v-if="item.form.type === 'input'"> | <div style="width: 100%;" v-if="item.form.type === 'input'"> | ||||
<el-input v-model="form[item.prop]" :type="item.itemType" | |||||
<el-input :disabled="item.form.disabled" v-model="form[item.prop]" :type="item.itemType" | |||||
:placeholder="item.form.placeholder" /> | :placeholder="item.form.placeholder" /> | ||||
</div> | </div> | ||||
<!-- 选择框 --> | <!-- 选择框 --> | ||||
<div style="width: 100%;" v-else-if="item.form.type === 'select'"> | <div style="width: 100%;" v-else-if="item.form.type === 'select'"> | ||||
<el-select style="width: 100%;" v-model="form[item.prop]" | |||||
<el-select style="width: 100%;" v-model="form[item.prop]" :disabled="item.form.disabled" | |||||
:placeholder="item.form.placeholder"> | :placeholder="item.form.placeholder"> | ||||
<el-option v-for="(itemData,index) in item.form.listData" :label="itemData.label" | <el-option v-for="(itemData,index) in item.form.listData" :label="itemData.label" | ||||
:value="itemData.value" /> | :value="itemData.value" /> | ||||
</div> | </div> | ||||
<!-- 日期框 --> | <!-- 日期框 --> | ||||
<div style="width: 100%;" v-else-if="item.form.type === 'date'"> | <div style="width: 100%;" v-else-if="item.form.type === 'date'"> | ||||
<el-date-picker style="width: 100%;" v-model="form[item.prop]" | |||||
<el-date-picker style="width: 100%;" v-model="form[item.prop]" :disabled="item.form.disabled" | |||||
:value-format="item.form.valueFormat" :type="item.form.itemType" | :value-format="item.form.valueFormat" :type="item.form.itemType" | ||||
:placeholder="item.form.placeholder" /> | :placeholder="item.form.placeholder" /> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<template #footer> | <template #footer> | ||||
<span v-if="!tableFrom.customDialog"> | |||||
<span v-if="!tableFrom.footerDialog"> | |||||
<el-button @click="cancel">取消</el-button> | <el-button @click="cancel">取消</el-button> | ||||
<el-button type="primary" @click="affirm(ruleFormRef)">提交</el-button> | <el-button type="primary" @click="affirm(ruleFormRef)">提交</el-button> | ||||
</span> | </span> | ||||
//表单字段 | //表单字段 | ||||
const form = ref(initForm) | const form = ref(initForm) | ||||
form.value.four = '52011328220201499572' | |||||
console.log(form.value); | |||||
form.value.four = '52011328220201499572' //赋值一条测试数据 | |||||
//重置 | //重置 | ||||
const RefreshLeft = () => { | const RefreshLeft = () => { |
table: { | table: { | ||||
style: '', | style: '', | ||||
customDialog: true, //自定义Dialog (默认false) | customDialog: true, //自定义Dialog (默认false) | ||||
footerDialog: true, | |||||
extend: [{ | extend: [{ | ||||
type: 'index', | type: 'index', | ||||
label: '序号', | label: '序号', | ||||
type: 'input', | type: 'input', | ||||
placeholder: '请输入卡片类型' | placeholder: '请输入卡片类型' | ||||
} | } | ||||
}, | |||||
{ | |||||
},{ | |||||
prop: 'seven', | prop: 'seven', | ||||
label: 'OBU编号', | label: 'OBU编号', | ||||
width: '200', | width: '200', | ||||
}, { | }, { | ||||
prop: 'eight', | prop: 'eight', | ||||
label: 'OBU状态', | label: 'OBU状态', | ||||
width: '', | |||||
width: '120', | |||||
form: { | form: { | ||||
required: true, | required: true, | ||||
type: 'input', | type: 'input', |
}, | }, | ||||
table: { | table: { | ||||
style: '', | style: '', | ||||
footerDialog: true, | |||||
extend: [{ | extend: [{ | ||||
type: 'index', | type: 'index', | ||||
label: '序号', | label: '序号', | ||||
width: '120', | width: '120', | ||||
overflow: true, | overflow: true, | ||||
form: { | form: { | ||||
required: true, | |||||
required: false, | |||||
disabled: true, | |||||
type: 'input', | type: 'input', | ||||
placeholder: '请输入客户名称' | placeholder: '请输入客户名称' | ||||
} | } | ||||
}, { | }, { | ||||
prop: 'two', | |||||
prop: 'five', | |||||
label: '证件类型', | label: '证件类型', | ||||
width: '180', | |||||
width: '120', | |||||
form: { | form: { | ||||
required: true, | |||||
required: false, | |||||
disabled: true, | |||||
type: 'input', | type: 'input', | ||||
placeholder: '请输入证件类型' | placeholder: '请输入证件类型' | ||||
} | } | ||||
}, { | }, { | ||||
prop: 'three', | |||||
label: '证件号码', | |||||
width: '180', | |||||
prop: 'four', | |||||
label: '证件号码123', | |||||
width: '200', | |||||
form: { | form: { | ||||
required: true, | |||||
required: false, | |||||
disabled: true, | |||||
type: 'input', | type: 'input', | ||||
placeholder: '请输入证件号码' | placeholder: '请输入证件号码' | ||||
} | } | ||||
}, { | }, { | ||||
prop: 'four', | |||||
prop: 'two', | |||||
label: '车牌号码', | label: '车牌号码', | ||||
width: '200', | |||||
width: '120', | |||||
form: { | form: { | ||||
required: true, | |||||
required: false, | |||||
disabled: true, | |||||
type: 'input', | type: 'input', | ||||
placeholder: '请输入车牌号码' | placeholder: '请输入车牌号码' | ||||
} | } | ||||
}, { | }, { | ||||
prop: 'five', | |||||
prop: 'four', | |||||
label: '卡号', | label: '卡号', | ||||
width: '180', | |||||
width: '200', | |||||
form: { | form: { | ||||
required: true, | |||||
required: false, | |||||
disabled: true, | |||||
type: 'input', | type: 'input', | ||||
placeholder: '请输入卡号' | placeholder: '请输入卡号' | ||||
} | } | ||||
label: '卡片状态', | label: '卡片状态', | ||||
width: '120', | width: '120', | ||||
form: { | form: { | ||||
required: true, | |||||
required: false, | |||||
disabled: true, | |||||
type: 'input', | type: 'input', | ||||
placeholder: '请输入卡片状态' | placeholder: '请输入卡片状态' | ||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
prop: 'seven', | |||||
prop: 'data', | |||||
label: '到期时间', | label: '到期时间', | ||||
width: '', | |||||
width: '180', | |||||
form: { | form: { | ||||
required: true, | |||||
required: false, | |||||
disabled: true, | |||||
type: 'input', | type: 'input', | ||||
placeholder: '请输入到期时间' | placeholder: '请输入到期时间' | ||||
} | } | ||||
operateTitle: '操作', | operateTitle: '操作', | ||||
operateFixed: true, | operateFixed: true, | ||||
isOperate: true, | isOperate: true, | ||||
operateWidth: '', | |||||
operate: { | operate: { | ||||
edit: true, | edit: true, | ||||
delete: true | |||||
delete: false | |||||
} | } | ||||
} | } | ||||
} | } |
operateTitle: '操作', | operateTitle: '操作', | ||||
operateFixed: true, | operateFixed: true, | ||||
isOperate: true, | isOperate: true, | ||||
operateWidth: '180', | |||||
operate: { | operate: { | ||||
edit: true, | edit: true, | ||||
delete: true | delete: true |
style: '', //默认表格样式 | style: '', //默认表格样式 | ||||
border: false, //是否添加边框(默认false) | border: false, //是否添加边框(默认false) | ||||
customDialog: false, //自定义Dialog (默认false) | customDialog: false, //自定义Dialog (默认false) | ||||
footerDialog: false, //隐藏弹窗页脚显示 (默认false) | |||||
extend: [{ //表头拓展 | extend: [{ //表头拓展 | ||||
type: '', //类型:selection,index,expand | type: '', //类型:selection,index,expand | ||||
width: '', //表头宽度 | width: '', //表头宽度 |
<!-- 自定义搜索 --> | <!-- 自定义搜索 --> | ||||
<template #search="{ searchCondition }"> | <template #search="{ searchCondition }"> | ||||
<!-- 搜索 监听回车 @keyup.enter.native="search"--> | <!-- 搜索 监听回车 @keyup.enter.native="search"--> | ||||
<el-input v-model="searchCondition.fileOne" clearable placeholder="卡号" style="width: 200px;" /> | |||||
<el-input v-model="searchCondition.fileTwo" clearable placeholder="车牌号码" | <el-input v-model="searchCondition.fileTwo" clearable placeholder="车牌号码" | ||||
style="width: 200px;margin: 0 10px 0 10px;" /> | style="width: 200px;margin: 0 10px 0 10px;" /> | ||||
<el-select v-model="searchCondition.fileThree" placeholder="--请输入车牌颜色--" style="margin-right: 10px;"> | <el-select v-model="searchCondition.fileThree" placeholder="--请输入车牌颜色--" style="margin-right: 10px;"> |
<template> | <template> | ||||
<!-- 卡签续期 --> | <!-- 卡签续期 --> | ||||
<CRUD :homeData="Data" text="123"> | |||||
<CRUD ref="crudRef" :homeData="Data" text="123"> | |||||
<template #search="{ searchCondition }"> | <template #search="{ searchCondition }"> | ||||
<!-- 搜索 监听回车 @keyup.enter.native="search"--> | <!-- 搜索 监听回车 @keyup.enter.native="search"--> | ||||
<el-input v-model="searchCondition.fileOne" clearable placeholder="卡号" style="width: 200px;margin-right: 10px;" /> | |||||
<el-button type="primary" icon="CreditCard">读卡</el-button> | |||||
<el-input v-model="searchCondition.fileTwo" clearable placeholder="车牌号码" | |||||
style="width: 200px;margin: 0 10px 0 10px;" /> | |||||
<el-select v-model="searchCondition.fileThree" placeholder="--请输入车牌颜色--" style="margin-right: 10px;"> | |||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /> | |||||
</el-select> | |||||
</template> | |||||
<!-- 弹窗页脚 --> | |||||
<template #footer> | |||||
<span> | |||||
<el-button @click="crudRef.dialogFormVisible = false">取消</el-button> | |||||
<el-button type="primary">卡续签</el-button> | |||||
<el-button type="primary">OBU续签</el-button> | |||||
</span> | |||||
</template> | </template> | ||||
</CRUD> | </CRUD> | ||||
</template> | </template> | ||||
<script setup lang="ts"> | <script setup lang="ts"> | ||||
import CRUD from "@/crud/index.vue"; | |||||
import CRUD from "@/crud/index.vue" | |||||
import { | import { | ||||
Data | Data | ||||
} from '@/data/cardAfter/cardRenewal' //表单配置 | } from '@/data/cardAfter/cardRenewal' //表单配置 | ||||
import { | |||||
ref | |||||
} from 'vue' | |||||
const crudRef = ref() | |||||
const options = [{ | const options = [{ | ||||
value: 'Option1', | value: 'Option1', |