|
|
@@ -11,7 +11,10 @@
|
|
|
style="margin-right: 10px"
|
|
|
>保存</Button
|
|
|
>
|
|
|
- <Button style="margin-right:10px" type="primary" @click="handleCheck" v-show="type != 1&& formData.status<=0"
|
|
|
+ <Button style="margin-right:10px" type="warning" ghost @click="handleCheck(1)" v-show="type != 1&& formData.status==2"
|
|
|
+ >弃审红冲</Button
|
|
|
+ >
|
|
|
+ <Button style="margin-right:10px" type="primary" @click="handleCheck(0)" v-show="type != 1&& formData.status<=0"
|
|
|
>审核</Button
|
|
|
>
|
|
|
<Button
|
|
|
@@ -193,9 +196,10 @@
|
|
|
<FormItem label="业务类型" class="item">
|
|
|
<Select
|
|
|
transfer
|
|
|
- filterable
|
|
|
clearable
|
|
|
+ :disabled="formData.status>0"
|
|
|
v-model="formData.basic_type_bussiness_id"
|
|
|
+ @on-change="handleSelectBID"
|
|
|
>
|
|
|
<Option
|
|
|
v-for="item in workList"
|
|
|
@@ -221,22 +225,27 @@
|
|
|
</Select>
|
|
|
</FormItem>
|
|
|
<FormItem label="车架号" class="item">
|
|
|
- <Select
|
|
|
- transfer
|
|
|
- filterable
|
|
|
- clearable
|
|
|
- v-model="formData.vin_no"
|
|
|
- @on-change="handleSelectVin"
|
|
|
- allow-create
|
|
|
- @on-create="handleCreateVin"
|
|
|
- >
|
|
|
- <Option
|
|
|
- v-for="(item, index) in ownerList"
|
|
|
- :key="index"
|
|
|
- :value="item.vin_no"
|
|
|
- :label="item.vin_no"
|
|
|
- />
|
|
|
- </Select>
|
|
|
+ <Input v-model="formData.vin_no" readonly placeholder="请选择">
|
|
|
+ <template slot="suffix">
|
|
|
+ <a style="width: 30px;position: relative;right: 4px;top: 6px;display: inline-block" @click="handleChooseVin">选择</a>
|
|
|
+ </template>
|
|
|
+ </Input>
|
|
|
+<!-- <Select-->
|
|
|
+<!-- transfer-->
|
|
|
+<!-- filterable-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- v-model="formData.vin_no"-->
|
|
|
+<!-- @on-change="handleSelectVin"-->
|
|
|
+<!-- allow-create-->
|
|
|
+<!-- @on-create="handleCreateVin"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- <Option-->
|
|
|
+<!-- v-for="(item, index) in ownerList"-->
|
|
|
+<!-- :key="index"-->
|
|
|
+<!-- :value="item.vin_no"-->
|
|
|
+<!-- :label="item.vin_no"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </Select>-->
|
|
|
</FormItem>
|
|
|
<FormItem label="车辆品牌" class="item">
|
|
|
<Select
|
|
|
@@ -292,6 +301,7 @@
|
|
|
:disabled="!formData.vin_no"
|
|
|
@on-change="handleSelectName"
|
|
|
v-show="!is_create"
|
|
|
+ filter-by-label
|
|
|
>
|
|
|
<Option
|
|
|
v-for="item in nameList"
|
|
|
@@ -316,13 +326,14 @@
|
|
|
@on-change="handleSelectName"
|
|
|
:disabled="!formData.vin_no"
|
|
|
v-show="!is_create"
|
|
|
+ filter-by-label
|
|
|
>
|
|
|
<Option
|
|
|
v-for="item in nameList"
|
|
|
:key="item.id"
|
|
|
:value="item.id"
|
|
|
:label="item.phone"
|
|
|
- />
|
|
|
+ >{{item.label}}</Option>
|
|
|
</Select>
|
|
|
<Input
|
|
|
clearable
|
|
|
@@ -507,12 +518,12 @@
|
|
|
<div class="total_img">
|
|
|
<div
|
|
|
class="img_content"
|
|
|
- v-for="(item, index) in imgData['1']"
|
|
|
+ v-for="(item, index) in imgData['1show']"
|
|
|
:key="index"
|
|
|
>
|
|
|
<viewer>
|
|
|
<img
|
|
|
- :src="$store.state.ip + item"
|
|
|
+ :src="item"
|
|
|
alt=""
|
|
|
/>
|
|
|
</viewer>
|
|
|
@@ -520,7 +531,7 @@
|
|
|
<Icon
|
|
|
v-show="type != 3"
|
|
|
size="20"
|
|
|
- @click="imgData['1'].splice(index, 1)"
|
|
|
+ @click="imgData['1show'].splice(index, 1);imgData['1'].splice(index, 1)"
|
|
|
class="delete-img"
|
|
|
type="ios-close-circle"
|
|
|
/>
|
|
|
@@ -545,17 +556,17 @@
|
|
|
v-show="formData.basic_type_item_id && img_type.indexOf('2') != -1"
|
|
|
>
|
|
|
<div class="total_img">
|
|
|
- <div v-show="imgData['2']" class="img_content">
|
|
|
- <viewer>
|
|
|
+ <div v-show="imgData['2show']" class="img_content">
|
|
|
+ <viewer :images="[imgData['2show']]">
|
|
|
<img
|
|
|
- :src="$store.state.ip + imgData['2']"
|
|
|
+ :src="imgData['2show']"
|
|
|
alt=""
|
|
|
/>
|
|
|
</viewer>
|
|
|
<Icon
|
|
|
v-show="type != 3"
|
|
|
size="20"
|
|
|
- @click="imgData['2'] = ''"
|
|
|
+ @click="imgData['2'] = '';imgData['2show'] = ''"
|
|
|
class="delete-img"
|
|
|
type="ios-close-circle"
|
|
|
/>
|
|
|
@@ -583,19 +594,19 @@
|
|
|
<div class="total_img">
|
|
|
<div
|
|
|
class="img_content"
|
|
|
- v-for="(item, index) in imgData['3']"
|
|
|
+ v-for="(item, index) in imgData['3show']"
|
|
|
:key="index"
|
|
|
>
|
|
|
<viewer>
|
|
|
<img
|
|
|
- :src="$store.state.ip + item"
|
|
|
+ :src="item"
|
|
|
alt=""
|
|
|
/>
|
|
|
</viewer>
|
|
|
<Icon
|
|
|
v-show="type != 3"
|
|
|
size="20"
|
|
|
- @click="imgData['3'].splice(index, 1)"
|
|
|
+ @click="imgData['3'].splice(index, 1);imgData['3show'].splice(index, 1)"
|
|
|
class="delete-img"
|
|
|
type="ios-close-circle"
|
|
|
/>
|
|
|
@@ -620,17 +631,17 @@
|
|
|
v-show="formData.basic_type_item_id && img_type.indexOf('4') != -1"
|
|
|
>
|
|
|
<div class="total_img">
|
|
|
- <div v-show="imgData['4']" class="img_content">
|
|
|
- <viewer>
|
|
|
+ <div v-show="imgData['4show']" class="img_content">
|
|
|
+ <viewer :images="[imgData['4show']]">
|
|
|
<img
|
|
|
- :src="$store.state.ip + imgData['4']"
|
|
|
+ :src="imgData['4show']"
|
|
|
alt=""
|
|
|
/>
|
|
|
</viewer>
|
|
|
<Icon
|
|
|
v-show="type != 3"
|
|
|
size="20"
|
|
|
- @click="imgData['4'] = ''"
|
|
|
+ @click="imgData['4'] = '';imgData['4show'] = ''"
|
|
|
class="delete-img"
|
|
|
type="ios-close-circle"
|
|
|
/>
|
|
|
@@ -657,16 +668,16 @@
|
|
|
>
|
|
|
<div class="total_img">
|
|
|
<div v-show="imgData['5']" class="img_content">
|
|
|
- <viewer>
|
|
|
+ <viewer :images="[imgData['5show']]">
|
|
|
<img
|
|
|
- :src="$store.state.ip + imgData['5']"
|
|
|
+ :src="imgData['5show']"
|
|
|
alt=""
|
|
|
/>
|
|
|
</viewer>
|
|
|
<Icon
|
|
|
v-show="type != 3"
|
|
|
size="20"
|
|
|
- @click="imgData['5'] = ''"
|
|
|
+ @click="imgData['5'] = '';imgData['5show'] = ''"
|
|
|
class="delete-img"
|
|
|
type="ios-close-circle"
|
|
|
/>
|
|
|
@@ -688,21 +699,21 @@
|
|
|
</div>
|
|
|
</FormItem>
|
|
|
<FormItem
|
|
|
- label="全车"
|
|
|
+ label="车辆保护套"
|
|
|
v-show="formData.basic_type_item_id && img_type.indexOf('6') != -1"
|
|
|
>
|
|
|
<div class="total_img">
|
|
|
<div v-show="imgData['6']" class="img_content">
|
|
|
- <viewer>
|
|
|
+ <viewer :images="[imgData['6show']]">
|
|
|
<img
|
|
|
- :src="$store.state.ip + imgData['6']"
|
|
|
+ :src="imgData['6show']"
|
|
|
alt=""
|
|
|
/>
|
|
|
</viewer>
|
|
|
<Icon
|
|
|
v-show="type != 3"
|
|
|
size="20"
|
|
|
- @click="imgData['6'] = ''"
|
|
|
+ @click="imgData['6'] = '';imgData['6show'] = ''"
|
|
|
class="delete-img"
|
|
|
type="ios-close-circle"
|
|
|
/>
|
|
|
@@ -729,16 +740,16 @@
|
|
|
>
|
|
|
<div class="total_img">
|
|
|
<div v-show="imgData['7']" class="img_content">
|
|
|
- <viewer>
|
|
|
+ <viewer :images="[imgData['7show']]">
|
|
|
<img
|
|
|
- :src="$store.state.ip + imgData['7']"
|
|
|
+ :src="imgData['7show']"
|
|
|
alt=""
|
|
|
/>
|
|
|
</viewer>
|
|
|
<Icon
|
|
|
v-show="type != 3"
|
|
|
size="20"
|
|
|
- @click="imgData['7'] = ''"
|
|
|
+ @click="imgData['7'] = '';imgData['7show'] = ''"
|
|
|
class="delete-img"
|
|
|
type="ios-close-circle"
|
|
|
/>
|
|
|
@@ -760,21 +771,21 @@
|
|
|
</div>
|
|
|
</FormItem>
|
|
|
<FormItem
|
|
|
- label="保护套"
|
|
|
+ label="车内保护套"
|
|
|
v-show="formData.basic_type_item_id && img_type.indexOf('8') != -1"
|
|
|
>
|
|
|
<div class="total_img">
|
|
|
<div v-show="imgData['8']" class="img_content">
|
|
|
- <viewer>
|
|
|
+ <viewer :images="[imgData['8show']]">
|
|
|
<img
|
|
|
- :src="$store.state.ip + imgData['8']"
|
|
|
+ :src="imgData['8show']"
|
|
|
alt=""
|
|
|
/>
|
|
|
</viewer>
|
|
|
<Icon
|
|
|
v-show="type != 3"
|
|
|
size="20"
|
|
|
- @click="imgData['8'] = ''"
|
|
|
+ @click="imgData['8'] = '';imgData['8show'] = ''"
|
|
|
class="delete-img"
|
|
|
type="ios-close-circle"
|
|
|
/>
|
|
|
@@ -838,7 +849,7 @@
|
|
|
</Form>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <Modal v-model="is_oa" width="30" title="原因" :closable="false" :mask-closable="false">
|
|
|
+ <Modal v-model="is_oa" width="300" title="原因" :closable="false" :mask-closable="false" :draggable="true">
|
|
|
<Form>
|
|
|
<FormItem :label-width="60" label="原因">
|
|
|
<Input clearable v-model="oa_remark" placeholder="请输入"/>
|
|
|
@@ -849,7 +860,7 @@
|
|
|
<Button type="primary" ghost @click="handlePass">确认</Button>
|
|
|
</div>
|
|
|
</Modal>
|
|
|
- <Modal v-model="is_other" width="30" title="转签" :closable="false" :mask-closable="false">
|
|
|
+ <Modal v-model="is_other" width="30" title="转签" :closable="false" :mask-closable="false" :draggable="true">
|
|
|
<Form>
|
|
|
<FormItem :label-width="80" label="转签人:">
|
|
|
<Select v-model="employee_id" transfer clearable filterable>
|
|
|
@@ -862,7 +873,15 @@
|
|
|
<Button type="primary" ghost @click="handlePassOver">确认</Button>
|
|
|
</div>
|
|
|
</Modal>
|
|
|
- <Modal v-model="is_oaDetail" width="80" title="审核详情" :closable="false" :mask-closable="false">
|
|
|
+ <Modal v-model="is_oaDetail" width="1000" title="审核详情" :closable="false" :mask-closable="false" :draggable="true">
|
|
|
+ <Steps :current="current">
|
|
|
+ <Step v-for="(item,index) in stepList" :key="index" :title="item.state==0?'待审核':item.state==1?'审核通过':'审核驳回'">
|
|
|
+ <div slot="content">
|
|
|
+ <div>班组:{{item.team}}</div>
|
|
|
+ <div>备注:{{item.remark}}</div>
|
|
|
+ </div>
|
|
|
+ </Step>
|
|
|
+ </Steps>
|
|
|
<vxe-grid
|
|
|
v-bind="oaGridOptions"
|
|
|
>
|
|
|
@@ -877,7 +896,7 @@
|
|
|
<Button @click="is_oaDetail = false" style="margin-right: 10px">取消</Button>
|
|
|
</div>
|
|
|
</Modal>
|
|
|
- <Modal v-model="is_check" width="800" title="审核人员详情" :closable="false" :mask-closable="false">
|
|
|
+ <Modal v-model="is_check" width="800" title="审核人员详情" :closable="false" :mask-closable="false" :draggable="true">
|
|
|
<div style="height: 500px">
|
|
|
<vxe-grid
|
|
|
v-bind="oaCheckGridOptions"
|
|
|
@@ -909,6 +928,52 @@
|
|
|
<Button type="primary" @click="handleSureOwn">确认</Button>
|
|
|
</div>
|
|
|
</Modal>
|
|
|
+ <Modal draggable
|
|
|
+ title="选择车架号"
|
|
|
+ :closable="false"
|
|
|
+ :mask-closable="false"
|
|
|
+ width="900"
|
|
|
+ v-model="is_vin">
|
|
|
+ <div slot="header" style="display:flex;justify-content: space-between;align-items: center">
|
|
|
+ <div style="font-size: 16px">选择车架号</div>
|
|
|
+ <div style="display: flex;align-items: center"><span style="font-size: 14px;margin-right: 10px">创建新的车架号:</span><i-switch v-model="isCreateVin"></i-switch></div>
|
|
|
+ </div>
|
|
|
+ <Form :label-width="100" style="display: flex;flex-wrap: wrap" v-show="isCreateVin">
|
|
|
+ <FormItem label="创建车架号:">
|
|
|
+ <Input clearable style="width: 200px" placeholder="请输入" v-model="newVin"/>
|
|
|
+ </FormItem>
|
|
|
+ </Form>
|
|
|
+ <Form :label-width="100" style="display: flex;flex-wrap: wrap" v-show="!isCreateVin">
|
|
|
+ <FormItem label="车架号:">
|
|
|
+ <Input clearable style="width: 200px" placeholder="请输入" v-model="vinText"/>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem :label-width="10">
|
|
|
+ <Button type="primary" ghost @click="searchVin">查询</Button>
|
|
|
+ </FormItem>
|
|
|
+ </Form>
|
|
|
+ <div style="height: 500px;padding-bottom: 50px;position: relative" v-show="!isCreateVin">
|
|
|
+ <vxe-grid
|
|
|
+ v-bind="vinGridOptions"
|
|
|
+ @radio-change="radioChangeEvent"
|
|
|
+ ref="xTable1"
|
|
|
+ >
|
|
|
+ <template #header>
|
|
|
+ <vxe-button type="text" @click="clearRadioRowEevnt" :disabled="!selectRow">取消</vxe-button>
|
|
|
+ </template>
|
|
|
+ </vxe-grid>
|
|
|
+ <Footer
|
|
|
+ :pageSize="vin_page_size"
|
|
|
+ :pageIndex="vin_page_index"
|
|
|
+ :total="vin_total"
|
|
|
+ @changeSize="changeVinSize"
|
|
|
+ @changePage="changeVinPage"
|
|
|
+ ></Footer>
|
|
|
+ </div>
|
|
|
+ <div slot="footer">
|
|
|
+ <Button style="margin-right: 10px" @click="is_vin=false">取消</Button>
|
|
|
+ <Button type="primary" ghost @click="handleSureVin">确认</Button>
|
|
|
+ </div>
|
|
|
+ </Modal>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -920,11 +985,16 @@ export default {
|
|
|
phone: "",
|
|
|
id: "",
|
|
|
},
|
|
|
+ isCreateVin:false,
|
|
|
+ vinText:'',
|
|
|
+ newVin:'',
|
|
|
+ selectRow:null,
|
|
|
is_ready: true,
|
|
|
headers: { 'Authorization': localStorage.getItem('token') },
|
|
|
img_type: [],
|
|
|
menuList: [],
|
|
|
type: '',
|
|
|
+ stepList:[],
|
|
|
employeeList: [],
|
|
|
rollFilmList: [],
|
|
|
basicRollFilmList: [],
|
|
|
@@ -941,6 +1011,7 @@ export default {
|
|
|
workProductList: [],
|
|
|
areaList: [],
|
|
|
companyList: [],
|
|
|
+ current:0,
|
|
|
fourShopList: [],
|
|
|
storehouseList: [],
|
|
|
oaGridOptions:{
|
|
|
@@ -958,6 +1029,25 @@ export default {
|
|
|
|
|
|
]
|
|
|
},
|
|
|
+ vin_page_index:1,
|
|
|
+ vin_page_size:10,
|
|
|
+ vin_total:0,
|
|
|
+ vinGridOptions:{
|
|
|
+ border: true,
|
|
|
+ maxHeight:'440px',
|
|
|
+ resizable: true,
|
|
|
+ showOverflow: true,
|
|
|
+ align: 'center',
|
|
|
+ columns: [
|
|
|
+ {type:'radio',minWidth: 50,slots:{header:'header'}},
|
|
|
+ { field: 'vin_no', title: '车架号', showHeaderOverflow: true, minWidth: 100},
|
|
|
+ { field: 'car_type_name', title: '车型分类', showHeaderOverflow: true, minWidth: 100},
|
|
|
+ { field: 'car_file_name', title: '车型档案', showHeaderOverflow: true, minWidth: 100},
|
|
|
+ { field: 'car_owner_name', title: '车主姓名', showHeaderOverflow: true, minWidth: 100},
|
|
|
+ { field: 'car_owner_phone', title: '联系方式', showHeaderOverflow: true, minWidth: 100},
|
|
|
+ ],
|
|
|
+ data: []
|
|
|
+ },
|
|
|
oaCheckGridOptions:{
|
|
|
border: true,
|
|
|
maxHeight:'auto',
|
|
|
@@ -1013,6 +1103,14 @@ export default {
|
|
|
'6': '',
|
|
|
'7': '',
|
|
|
'8': '',
|
|
|
+ '1show': [],
|
|
|
+ '2show': '',
|
|
|
+ '3show': [],
|
|
|
+ '4show': '',
|
|
|
+ '5show': '',
|
|
|
+ '6show': '',
|
|
|
+ '7show': '',
|
|
|
+ '8show': '',
|
|
|
},
|
|
|
is_show:false,
|
|
|
is_create: false,
|
|
|
@@ -1026,7 +1124,9 @@ export default {
|
|
|
is_oaDetail:false,
|
|
|
is_o:true,
|
|
|
is_other:false,
|
|
|
- employee_id:''
|
|
|
+ employee_id:'',
|
|
|
+ is_vin:false,
|
|
|
+ vinProxyData:{}
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
@@ -1063,10 +1163,10 @@ export default {
|
|
|
this.carFilesList = res.data.data;
|
|
|
this.SureCarFilesList = JSON.parse(JSON.stringify(res.data.data));
|
|
|
})
|
|
|
- //获取车架号
|
|
|
- this.axios.post('/api/ownerList').then(res => {
|
|
|
- this.ownerList = res.data.data;
|
|
|
- })
|
|
|
+ // //获取车架号
|
|
|
+ // this.axios.post('/api/ownerList').then(res => {
|
|
|
+ // this.ownerList = res.data.data;
|
|
|
+ // })
|
|
|
//获取套餐档案
|
|
|
this.axios.post('/api/rollFilmCombineList', { roll_film_id: 1,use:1 }).then(res => {
|
|
|
this.rollFilmCombineList = res.data.data;
|
|
|
@@ -1100,6 +1200,97 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleSelectBID(e){
|
|
|
+ if(e){
|
|
|
+ let obj = this.workList.find(v=>v.id == e)
|
|
|
+ if(obj.special_type){
|
|
|
+ this.formData.sub.forEach(c => {
|
|
|
+ c.gridOptions.columns = [
|
|
|
+ { field: 'set', title: '操作', showHeaderOverflow: true, slots: { default: 'set' }, width: 160, align: 'center' },
|
|
|
+ { type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
+ { field: 'car_depart_name', title: '施工部位', showHeaderOverflow: true, minWidth: 100,align: "center",editRender: {}, slots: { edit: 'car_depart_name' } }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+
|
|
|
+ this.formData.sub.forEach(c => {
|
|
|
+ c.gridOptions.columns = [
|
|
|
+ { field: 'set', title: '操作', showHeaderOverflow: true, slots: { default: 'set' }, width: 160, align: 'center' },
|
|
|
+ { type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
+ { field: 'car_depart_name', title: '施工部位', showHeaderOverflow: true, minWidth: 100, editRender: {}, slots: { edit: 'car_depart_name' } },
|
|
|
+ { field: 'basic_roll_film_name', title: '卷膜分类', showHeaderOverflow: true, minWidth: 100, editRender: {}, slots: { edit: 'basic_roll_film_name' } },
|
|
|
+ { field: 'roll_film_name', title: '卷膜型号', showHeaderOverflow: true, minWidth: 100, editRender: {}, slots: { edit: 'roll_film_name' } },
|
|
|
+ { field: 'roll_film_number', title: '卷膜编号', showHeaderOverflow: true, minWidth: 100, editRender: {}, slots: { edit: 'roll_film_number' } },
|
|
|
+ { field: 'meter', title: '耗用米数', showHeaderOverflow: true, minWidth: 100 }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSureVin(){
|
|
|
+ if(this.isCreateVin){
|
|
|
+ if(!this.newVin){
|
|
|
+ return this.$Message.warning('请输入新的车架号')
|
|
|
+ }else {
|
|
|
+ this.formData.own_id = 0;
|
|
|
+ this.formData.vin_no = this.newVin
|
|
|
+ this.is_create=true
|
|
|
+ this.formData.own_name = '';
|
|
|
+ this.formData.own_phone = '';
|
|
|
+ this.formData.name_id = '';
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if(!this.selectRow){
|
|
|
+ return this.$Message.warning('请选择车架号!')
|
|
|
+ }else{
|
|
|
+ this.formData.own_id = this.selectRow.id;
|
|
|
+ this.is_create = false;
|
|
|
+ this.formData.car_type = this.selectRow.car_type;
|
|
|
+ this.formData.car_file_id = this.selectRow.car_file_id;
|
|
|
+ this.formData.vin_no = this.selectRow.vin_no;
|
|
|
+ this.formData.name_id = '';
|
|
|
+ this.formData.is_big = this.carFilesList.find(v => v.id == this.formData.car_file_id).is_big;
|
|
|
+ this.axios.post('/api/ownerDetail', { id:this.formData.own_id }).then(res => {
|
|
|
+ this.nameList = res.data.sub.filter(v => v.use)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.is_vin=false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ searchVin(){
|
|
|
+ this.vinProxyData = {
|
|
|
+ vin_no:this.vinText
|
|
|
+ }
|
|
|
+ this.handleChooseVin(this.vinProxyData)
|
|
|
+ },
|
|
|
+ radioChangeEvent({row}){
|
|
|
+ this.selectRow = row
|
|
|
+ },
|
|
|
+ clearRadioRowEevnt () {
|
|
|
+ this.selectRow = null
|
|
|
+ this.$refs.xTable1.clearRadioRow()
|
|
|
+ },
|
|
|
+ changeVinSize(e){
|
|
|
+ this.vin_page_size = e;
|
|
|
+ this.vin_page_index = 1;
|
|
|
+ this.handleChooseVin(this.vinProxyData);
|
|
|
+ },
|
|
|
+ changeVinPage(e){
|
|
|
+ this.vin_page_index = e
|
|
|
+ this.handleChooseVin(this.vinProxyData);
|
|
|
+ },
|
|
|
+ handleChooseVin(row){
|
|
|
+ //获取车架号
|
|
|
+ this.axios.post('/api/ownerList',{...row,page_index:this.vin_page_index,page_size:this.vin_page_size}).then(res => {
|
|
|
+ this.vinGridOptions.data = res.data.data;
|
|
|
+ this.vin_total = res.data.total;
|
|
|
+ this.vinText = ''
|
|
|
+ this.is_vin = true;
|
|
|
+ })
|
|
|
+ },
|
|
|
handleShowCheckMan(){
|
|
|
this.axios.post('/api/oaSubUserDetail',{order_no:this.$route.query.order_number}).then(res=>{
|
|
|
let data = [];
|
|
|
@@ -1128,7 +1319,13 @@ export default {
|
|
|
let menu_id = this.menuList.find(v => v.uri == '/cms/BusinessManagement/Construction/index').id;
|
|
|
this.axios.post('/api/oaOrderList',{menu_id,order_no:this.$route.query.order_number}).then(res=>{
|
|
|
this.oaGridOptions.data = res.data;
|
|
|
- this.is_oaDetail = true;
|
|
|
+ this.axios.post('/api/oaGetTeamDetail',{order_no:this.$route.query.order_number}).then(req=>{
|
|
|
+ if(req.code==200){
|
|
|
+ this.current = req.data.length;
|
|
|
+ this.stepList = req.data;
|
|
|
+ this.is_oaDetail = true;
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
|
|
|
},
|
|
|
@@ -1172,9 +1369,10 @@ export default {
|
|
|
if(res.code === 200){
|
|
|
this.$Message.success(res.msg)
|
|
|
this.is_oa=false
|
|
|
- this.initData()
|
|
|
if(this.oa_state_m){
|
|
|
this.$router.push('/cms/BusinessManagement/Construction/index')
|
|
|
+ }else {
|
|
|
+ this.initData()
|
|
|
}
|
|
|
}
|
|
|
setTimeout(()=>{
|
|
|
@@ -1192,8 +1390,30 @@ export default {
|
|
|
this.formData.car_file_id = '';
|
|
|
},
|
|
|
handleAddBox(index) {
|
|
|
- this.formData.sub.splice(index + 1, 0, {
|
|
|
- roll_film_combine_id: '', gridOptions: {
|
|
|
+ this.formData.sub.splice(index + 1, 0, (this.workList.find(v=>v.id==this.formData.basic_type_bussiness_id)&&this.workList.find(v=>v.id==this.formData.basic_type_bussiness_id).special_type)?{
|
|
|
+ roll_film_combine_id: '',
|
|
|
+ gridOptions: {
|
|
|
+ border: true,
|
|
|
+ resizable: true,
|
|
|
+ showOverflow: true,
|
|
|
+ align: 'left',
|
|
|
+ editConfig: {
|
|
|
+ trigger: 'click',
|
|
|
+ mode: 'row',
|
|
|
+ showStatus: true
|
|
|
+ },
|
|
|
+ columns: [
|
|
|
+ { field: 'set', title: '操作', showHeaderOverflow: true, slots: { default: 'set' }, width: 160, align: 'center' },
|
|
|
+ { type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
+ { field: 'car_depart_name', title: '施工部位', showHeaderOverflow: true,align:"center", minWidth: 100, editRender: {}, slots: { edit: 'car_depart_name' } }
|
|
|
+ ],
|
|
|
+ data: [
|
|
|
+
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }:{
|
|
|
+ roll_film_combine_id: '',
|
|
|
+ gridOptions: {
|
|
|
border: true,
|
|
|
resizable: true,
|
|
|
showOverflow: true,
|
|
|
@@ -1216,7 +1436,8 @@ export default {
|
|
|
|
|
|
]
|
|
|
}
|
|
|
- })
|
|
|
+ }
|
|
|
+ )
|
|
|
},
|
|
|
handleReduceBox(index) {
|
|
|
this.formData.sub.splice(index, 1);
|
|
|
@@ -1283,13 +1504,17 @@ export default {
|
|
|
if (res.code === 200) {
|
|
|
if (type === '3') {
|
|
|
this.imgData['3'].push(res.data.url);
|
|
|
+ this.imgData['3show'].push(this.$store.state.ip+res.data.url)
|
|
|
} else if (type === '1') {
|
|
|
this.imgData['1'].push(res.data.url);
|
|
|
+ console.log(this.imgData)
|
|
|
+ this.imgData['1show'].push(this.$store.state.ip+res.data.url)
|
|
|
} else {
|
|
|
this.imgData[type] = res.data.url;
|
|
|
+ this.imgData[`${type}show`]=this.$store.state.ip+res.data.url
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+console.log(this.imgData)
|
|
|
}
|
|
|
},
|
|
|
handleError(file) {
|
|
|
@@ -1316,6 +1541,14 @@ export default {
|
|
|
'6': '',
|
|
|
'7': '',
|
|
|
'8': '',
|
|
|
+ '1show': [],
|
|
|
+ '2show': '',
|
|
|
+ '3show': [],
|
|
|
+ '4show': '',
|
|
|
+ '5show': '',
|
|
|
+ '6show': '',
|
|
|
+ '7show': '',
|
|
|
+ '8show': '',
|
|
|
}
|
|
|
},
|
|
|
footerMethod({ columns, data }) {
|
|
|
@@ -1337,31 +1570,51 @@ export default {
|
|
|
})
|
|
|
return count.toFixed(2)
|
|
|
},
|
|
|
- handleCheck() {
|
|
|
+ handleCheck(e) {
|
|
|
let menu_id = this.menuList.find(v => v.uri == '/cms/BusinessManagement/Construction/index').id;
|
|
|
- this.axios.post('/api/checkAll', { order_number: this.$route.query.order_number, opt_case: 5, menu_id }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$Message.success(res.msg);
|
|
|
- this.initData();
|
|
|
- }
|
|
|
- if(res.code == 201&&res.msg == 'construction_rule'){
|
|
|
- this.$Modal.confirm({
|
|
|
- title:'审核确认',
|
|
|
- content:'有重复的车架号,是否继续审核?',
|
|
|
- onOk:()=>{
|
|
|
- this.axios.post('/api/checkAll',{ order_number: this.$route.query.order_number, opt_case: 5, menu_id, is_confirm:1}).then(res=>{
|
|
|
- if (res.code == 200) {
|
|
|
- this.$Message.success(res.msg);
|
|
|
- this.initData();
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
+ if(e){
|
|
|
+ this.$Modal.confirm({
|
|
|
+ title:'确认',
|
|
|
+ content:'确认弃审吗?',
|
|
|
+ onOk:()=>{
|
|
|
+ this.axios.post('/api/checkAllOver', {
|
|
|
+ order_number: this.$route.query.order_number,
|
|
|
+ opt_case: 5,
|
|
|
+ menu_id
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.initData();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.axios.post('/api/checkAll', { order_number: this.$route.query.order_number, opt_case: 5, menu_id }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.initData();
|
|
|
+ }
|
|
|
+ if(res.code == 201&&res.msg == 'construction_rule'){
|
|
|
+ this.$Modal.confirm({
|
|
|
+ title:'审核确认',
|
|
|
+ content:'有重复的车架号,是否继续审核?',
|
|
|
+ onOk:()=>{
|
|
|
+ this.axios.post('/api/checkAll',{ order_number: this.$route.query.order_number, opt_case: 5, menu_id, is_confirm:1}).then(res=>{
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.initData();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
initData() {
|
|
|
this.axios.post('/api/constructionDetail', { order_number: this.$route.query.order_number }).then(res => {
|
|
|
+ res.data.construction_time = this.func.replaceDateNoHMS(res.data.construction_time);
|
|
|
this.formData = JSON.parse(JSON.stringify(res.data));
|
|
|
if ( this.formData.status === 1 ) {
|
|
|
let menu_id = this.menuList.find(v => v.uri == '/cms/BusinessManagement/Construction/index').id;
|
|
|
@@ -1372,10 +1625,10 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
this.formData.is_big = this.carFilesList.find(v => v.id == this.formData.car_file_id).is_big;
|
|
|
this.SureRollFilmCombineList = this.rollFilmCombineList.filter(v => (v.company_id == this.formData.company_id && (this.formData.basic_type_item_id ? this.workProductList.find(x => x.id == this.formData.basic_type_item_id).b_r_f_id.split(',').map(b => b * 1).indexOf(v.basic_roll_film_id) != -1 : true)
|
|
|
));
|
|
|
- this.formData.construction_time = this.func.replaceDateNoHMS(this.formData.construction_time);
|
|
|
this.img_type = this.workProductList.find(v => v.id == this.formData.basic_type_item_id).img_type.split(',');
|
|
|
let id = this.fourShopList.find(v => v.id == this.formData.four_shop_id).construction_person.map(c => c.id);
|
|
|
let arr = JSON.parse(JSON.stringify(this.employeeList));
|
|
|
@@ -1396,8 +1649,10 @@ export default {
|
|
|
if (v.src) {
|
|
|
if (v.type == 3 || v.type == 1) {
|
|
|
this.imgData[v.type] = v.src.split(',');
|
|
|
+ this.imgData[v.type + 'show'] = v.show_url.split(',')
|
|
|
} else {
|
|
|
- this.imgData[v.type] = v.src
|
|
|
+ this.imgData[v.type] = v.src;
|
|
|
+ this.imgData[v.type + 'show'] = v.show_url
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -1426,8 +1681,12 @@ export default {
|
|
|
data: v.detail.length===0?[{ car_depart_id: '', car_depart_name: '', basic_roll_film_id: '', basic_roll_film_name: '', roll_film_id: '', roll_film_name: '', meter: '', roll_film_number: '', roll_film_number_arr: [] }]:v.detail
|
|
|
}
|
|
|
})
|
|
|
+ let dataa ={}
|
|
|
+ if(this.type==2){
|
|
|
+ dataa.order_number = this.$route.query.order_number;
|
|
|
+ }
|
|
|
//获取卷膜型号
|
|
|
- this.axios.post('/api/rollFilmList', { storehouse_id: this.formData.storehouse_id }).then(req => {
|
|
|
+ this.axios.post('/api/rollFilmList', { use:1,storehouse_id: this.formData.storehouse_id,...dataa }).then(req => {
|
|
|
this.rollFilmList = req.data.data;
|
|
|
this.formData.sub.forEach(c => {
|
|
|
c.gridOptions.data.forEach(v => {
|
|
|
@@ -1443,25 +1702,43 @@ export default {
|
|
|
v.roll_film_name = v.title;
|
|
|
})
|
|
|
})
|
|
|
- if (res.data.status > 0) {
|
|
|
- this.formData.sub.forEach(c => {
|
|
|
- c.gridOptions.columns = [
|
|
|
- { type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
- { field: 'car_depart_name', title: '施工部位', showHeaderOverflow: true, minWidth: 100 },
|
|
|
- { field: 'basic_roll_film_name', title: '卷膜分类', showHeaderOverflow: true, minWidth: 100 },
|
|
|
- { field: 'roll_film_name', title: '卷膜型号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
- { field: 'roll_film_number', title: '卷膜编号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
- { field: 'meter', title: '耗用米数', showHeaderOverflow: true, minWidth: 100 }]
|
|
|
- })
|
|
|
+ if(this.workList.find(v=>v.id==this.formData.basic_type_bussiness_id)&&this.workList.find(v=>v.id==this.formData.basic_type_bussiness_id).special_type){
|
|
|
+ if(res.data.status > 0){
|
|
|
+ this.formData.sub.forEach(c => {
|
|
|
+ c.gridOptions.columns = [
|
|
|
+ { type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
+ { field: 'car_depart_name', title: '施工部位', showHeaderOverflow: true, minWidth: 100,align: "center" }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.formData.sub.forEach(c => {
|
|
|
+ c.gridOptions.columns = [
|
|
|
+ { field: 'set', title: '操作', showHeaderOverflow: true, slots: { default: 'set' }, width: 160, align: 'center' },
|
|
|
+ { type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
+ { field: 'car_depart_name', title: '施工部位', showHeaderOverflow: true, minWidth: 100,align: "center",editRender: {}, slots: { edit: 'car_depart_name' } }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if (res.data.status > 0) {
|
|
|
+ this.formData.sub.forEach(c => {
|
|
|
+ c.gridOptions.columns = [
|
|
|
+ { type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
+ { field: 'car_depart_name', title: '施工部位', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ { field: 'basic_roll_film_name', title: '卷膜分类', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ { field: 'roll_film_name', title: '卷膜型号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ { field: 'roll_film_number', title: '卷膜编号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ { field: 'meter', title: '耗用米数', showHeaderOverflow: true, minWidth: 100 }]
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
this.axios.post('/api/ownerDetail', { id: this.formData.own_id }).then(req => {
|
|
|
this.nameList = req.data.sub?req.data.sub.filter(v => v.use == '1'):[];
|
|
|
- // this.nameList.forEach(v=>{
|
|
|
- // if(!v.name){
|
|
|
- // v.name='12345';
|
|
|
- // v.phone = '1231231';
|
|
|
- // }
|
|
|
- // })
|
|
|
+ this.nameList.forEach(v=>{
|
|
|
+ if(!v.phone){
|
|
|
+ v.phone = ' '
|
|
|
+ }
|
|
|
+ })
|
|
|
this.formData.name_id = res.data.own_sub_id;
|
|
|
})
|
|
|
})
|
|
|
@@ -1470,7 +1747,7 @@ export default {
|
|
|
let img = [];
|
|
|
let key = Object.keys(this.imgData);
|
|
|
key.forEach(v => {
|
|
|
- if (this.imgData[v] && this.imgData[v].length != 0) {
|
|
|
+ if (this.imgData[v] && this.imgData[v].length != 0 && v.indexOf('show')==-1) {
|
|
|
|
|
|
let obj = {};
|
|
|
if (v === '3' || v === '1') {
|
|
|
@@ -1507,7 +1784,7 @@ export default {
|
|
|
this.axios.post('/api/constructionEdit', { ...data }).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.$Message.success(res.msg);
|
|
|
- this.$router.push({ path: '/cms/BusinessManagement/Construction/index' })
|
|
|
+ // this.$router.push({ path: '/cms/BusinessManagement/Construction/index' })
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
@@ -1551,7 +1828,6 @@ export default {
|
|
|
handleSelectCombine(e, index) {
|
|
|
if (e) {
|
|
|
//获取套餐下绑定的卷膜分类和型号,部位的分类和型号套餐下的都一样
|
|
|
- this.formData.sub[index].gridOptions.data = [];
|
|
|
let id = this.SureRollFilmCombineList.find(v => v.id == e).c_d_c_id;
|
|
|
let roll_film_id = this.SureRollFilmCombineList.find(v => v.id == e).roll_film_id;
|
|
|
let roll_film_name = this.SureRollFilmCombineList.find(v => v.id == e).roll_film_name;
|
|
|
@@ -1559,8 +1835,10 @@ export default {
|
|
|
let basic_roll_film_id = this.SureRollFilmCombineList.find(v => v.id == e).basic_roll_film_id;
|
|
|
let warranty_year = this.rollFilmList.find(v => v.id == roll_film_id).warranty_year;
|
|
|
this.axios.post('/api/carDepartCombineDetail', { id }).then(res => {
|
|
|
+ this.formData.sub[index].gridOptions.data = [];
|
|
|
+ this.$set(this.formData.sub[index].gridOptions,'data',[]);
|
|
|
let car_depart_sub = this.formData.is_big ? res.data.car_depart_sub_big : res.data.car_depart_sub; //如果是大型车就拿big的不是就是拿另外一个非大型车的
|
|
|
- let data = this.carDepartList.filter(v => car_depart_sub.indexOf(v.id) != -1);
|
|
|
+ let data = JSON.parse(JSON.stringify(this.carDepartList.filter(v => car_depart_sub.indexOf(v.id) != -1)));
|
|
|
data.forEach(v => {
|
|
|
v.warranty_year = warranty_year;
|
|
|
v.car_depart_name = v.title;
|
|
|
@@ -1572,18 +1850,19 @@ export default {
|
|
|
v.roll_film_id = roll_film_id
|
|
|
if (this.formData.is_big) {
|
|
|
console.log(this.formData.is_big, 'da')
|
|
|
- v.meter = res.data.car_depart_meters_big.find(c => c.car_depart_id == v.id).car_depart_meter ? res.data.car_depart_meters_big.find(c => c.car_depart_id == v.id).car_depart_meter : v.expend_meters;
|
|
|
+ v.meter = res.data.car_depart_meters_big.find(c => c.car_depart_id == v.id).car_depart_meter*1 ? res.data.car_depart_meters_big.find(c => c.car_depart_id == v.id).car_depart_meter : v.expend_meters;
|
|
|
v.car_depart_id = v.id;
|
|
|
} else {
|
|
|
console.log(this.formData.is_big, 'xiao')
|
|
|
- v.meter = res.data.car_depart_meters.find(c => c.car_depart_id == v.id).car_depart_meter ? res.data.car_depart_meters.find(c => c.car_depart_id == v.id).car_depart_meter : v.expend_meters;
|
|
|
+ v.meter = res.data.car_depart_meters.find(c => c.car_depart_id == v.id).car_depart_meter*1 ? res.data.car_depart_meters.find(c => c.car_depart_id == v.id).car_depart_meter : v.expend_meters;
|
|
|
v.car_depart_id = v.id;
|
|
|
}
|
|
|
v.roll_film_number_arr = this.rollFilmList.find(c => c.id == v.roll_film_id).roll_film_number_arr;
|
|
|
// v.roll_film_number_arr = [];
|
|
|
})
|
|
|
+ console.log(data,'zhen')
|
|
|
this.formData.sub[index].gridOptions.data = [...this.formData.sub[index].gridOptions.data, ...JSON.parse(JSON.stringify(data))];
|
|
|
- console.log(this.formData.sub[index].gridOptions.data);
|
|
|
+ this.$forceUpdate();
|
|
|
})
|
|
|
} else {
|
|
|
this.formData.sub[index].gridOptions.data = [{ car_depart_id: '', car_depart_name: '', basic_roll_film_id: '', basic_roll_film_name: '', roll_film_id: '', roll_film_name: '', meter: '', roll_film_number: '', roll_film_number_arr: [] }];
|
|
|
@@ -1632,8 +1911,12 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
this.constructionPersonList = arr2.concat(arr1);
|
|
|
+ let dataa ={}
|
|
|
+ if(this.type==2){
|
|
|
+ dataa.order_number = this.$route.query.order_number;
|
|
|
+ }
|
|
|
//获取卷膜型号
|
|
|
- this.axios.post('/api/rollFilmList', { storehouse_id: this.formData.storehouse_id }).then(res => {
|
|
|
+ this.axios.post('/api/rollFilmList', { use:1,storehouse_id: this.formData.storehouse_id,...dataa }).then(res => {
|
|
|
this.rollFilmList = res.data.data
|
|
|
})
|
|
|
} else {
|