|
@@ -29,14 +29,20 @@
|
|
|
</van-field>
|
|
|
</van-cell-group>
|
|
|
<div style="margin: 16px">
|
|
|
- <van-button round block type="primary" native-type="submit" @click="onSubmitbh">
|
|
|
+ <van-button
|
|
|
+ round
|
|
|
+ block
|
|
|
+ type="primary"
|
|
|
+ native-type="submit"
|
|
|
+ @click="onSubmitbh"
|
|
|
+ >
|
|
|
提交
|
|
|
</van-button>
|
|
|
</div>
|
|
|
</van-form>
|
|
|
</div>
|
|
|
<div v-if="route.query.bh != '1'">
|
|
|
- <van-form >
|
|
|
+ <van-form>
|
|
|
<van-cell-group>
|
|
|
<van-field
|
|
|
v-model="czobj.qsdes"
|
|
@@ -77,9 +83,7 @@
|
|
|
<div style="margin-bottom: 10px">
|
|
|
<van-row>
|
|
|
<!-- <van-col :span="8"><div style="text-align: right;padding-right:6px">{{ item.name }}:</div></van-col> -->
|
|
|
- <van-col
|
|
|
- :span="item.hasOwnProperty('value2') ? 16 : 24"
|
|
|
- >
|
|
|
+ <van-col :span="item.hasOwnProperty('value2') ? 16 : 24">
|
|
|
<van-field
|
|
|
v-model="item.value1"
|
|
|
placeholder="请输入"
|
|
@@ -114,9 +118,7 @@
|
|
|
<div style="margin-bottom: 10px">
|
|
|
<van-row>
|
|
|
<!-- <van-col :span="8"><div style="text-align: right;padding-right:6px">{{ item.name }}:</div></van-col> -->
|
|
|
- <van-col
|
|
|
- :span="item.hasOwnProperty('value2') ? 16 : 24"
|
|
|
- >
|
|
|
+ <van-col :span="item.hasOwnProperty('value2') ? 16 : 24">
|
|
|
<van-field
|
|
|
v-model="item.value1"
|
|
|
placeholder="请输入"
|
|
@@ -145,15 +147,138 @@
|
|
|
</van-col>
|
|
|
</van-row>
|
|
|
</van-tab>
|
|
|
- <van-tab title="耗材" name="3">
|
|
|
+ <van-tab title="主材" name="3" style="background:#8080800d">
|
|
|
+ <van-row >
|
|
|
+ <van-col :span="24" v-for="item in czobj.zcdata">
|
|
|
+ <van-cell-group inset style="margin-top: 10px;">
|
|
|
+ <van-field
|
|
|
+ v-model="item.type"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ name="picker"
|
|
|
+ label="类型"
|
|
|
+ placeholder="点击选择类型"
|
|
|
+ @click="showpicker = true"
|
|
|
+ />
|
|
|
+ <van-popup v-model:show="showpicker" position="bottom">
|
|
|
+ <van-picker
|
|
|
+ :columns="
|
|
|
+ zctype.map((i) => {
|
|
|
+ return { text: i.label, value: i.label };
|
|
|
+ })
|
|
|
+ "
|
|
|
+ @confirm="
|
|
|
+ ({ selectedOptions }) => {
|
|
|
+ item.type = selectedOptions[0].text;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ @cancel="showpicker = false"
|
|
|
+ />
|
|
|
+ </van-popup>
|
|
|
+ <van-field
|
|
|
+ v-model="item.cz"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ name="picker"
|
|
|
+ label="材质"
|
|
|
+ placeholder="点击选择材质"
|
|
|
+ @click="showpicker1 = true"
|
|
|
+ />
|
|
|
+ <van-popup v-model:show="showpicker1" position="bottom">
|
|
|
+ <van-picker
|
|
|
+ :columns="
|
|
|
+ zccz.map((i) => {
|
|
|
+ return { text: i.label, value: i.label };
|
|
|
+ })
|
|
|
+ "
|
|
|
+ @confirm="
|
|
|
+ ({ selectedOptions }) => {
|
|
|
+ item.cz = selectedOptions[0].text;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ @cancel="showpicker1 = false"
|
|
|
+ />
|
|
|
+ </van-popup>
|
|
|
+ <van-field
|
|
|
+ v-model="item.gg"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ name="picker"
|
|
|
+ label="规格"
|
|
|
+ placeholder="点击选择规格"
|
|
|
+ @click="showpicker2 = true"
|
|
|
+ />
|
|
|
+ <van-popup v-model:show="showpicker2" position="bottom">
|
|
|
+ <van-picker
|
|
|
+ :columns="
|
|
|
+ zcgg.map((i) => {
|
|
|
+ return { text: i.label, value: i.label };
|
|
|
+ })
|
|
|
+ "
|
|
|
+ @confirm="
|
|
|
+ ({ selectedOptions }) => {
|
|
|
+ item.gg = selectedOptions[0].text;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ @cancel="showpicker2 = false"
|
|
|
+ />
|
|
|
+ </van-popup>
|
|
|
+ <van-field v-model="item.num" type="number" label="数量" />
|
|
|
+ <van-field
|
|
|
+ v-model="item.dw"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ name="picker"
|
|
|
+ label="单位"
|
|
|
+ placeholder="点击选择单位"
|
|
|
+ @click="showpicker3 = true"
|
|
|
+ />
|
|
|
+ <van-popup v-model:show="showpicker3" position="bottom">
|
|
|
+ <van-picker
|
|
|
+ :columns="
|
|
|
+ zcdw.map((i) => {
|
|
|
+ return { text: i.label, value: i.label };
|
|
|
+ })
|
|
|
+ "
|
|
|
+ @confirm="
|
|
|
+ ({ selectedOptions }) => {
|
|
|
+ item.dw= selectedOptions[0].text;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ @cancel="showpicker3 = false"
|
|
|
+ />
|
|
|
+ </van-popup>
|
|
|
+ </van-cell-group>
|
|
|
+
|
|
|
+ </van-col>
|
|
|
+
|
|
|
+ <van-col :span="24" style="text-align: center;">
|
|
|
+ <van-button
|
|
|
+ round
|
|
|
+ block
|
|
|
+ type="primary"
|
|
|
+ style="margin-top: 10px;"
|
|
|
+ size="small"
|
|
|
+ @click="
|
|
|
+ czobj.zcdata.push({
|
|
|
+ index: czobj.zcdata.length,
|
|
|
+ label: '',
|
|
|
+ value: '',
|
|
|
+ })
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 新增
|
|
|
+ </van-button>
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ </van-tab>
|
|
|
+ <van-tab title="辅材" name="3">
|
|
|
<van-row>
|
|
|
<van-col :span="24" v-for="item in czobj.hcdata">
|
|
|
<div style="margin-bottom: 10px">
|
|
|
<van-row>
|
|
|
<!-- <van-col :span="8"><div style="text-align: right;padding-right:6px">{{ item.name }}:</div></van-col> -->
|
|
|
- <van-col
|
|
|
- :span="item.hasOwnProperty('value2') ? 16 : 24"
|
|
|
- >
|
|
|
+ <van-col :span="item.hasOwnProperty('value2') ? 16 : 24">
|
|
|
<van-field
|
|
|
v-model="item.value1"
|
|
|
placeholder="请输入"
|
|
@@ -184,29 +309,17 @@
|
|
|
</van-tab>
|
|
|
</van-tabs>
|
|
|
|
|
|
- <van-field
|
|
|
- v-model="czobj.images[0]"
|
|
|
- name="处置前照片"
|
|
|
- label="处置前照片"
|
|
|
- >
|
|
|
+ <van-field v-model="czobj.images[0]" name="处置前照片" label="处置前照片">
|
|
|
<template #input>
|
|
|
<ImageUpload v-model="czobj.images[0]"></ImageUpload>
|
|
|
</template>
|
|
|
</van-field>
|
|
|
- <van-field
|
|
|
- v-model="czobj.images[1]"
|
|
|
- name="处置中照片"
|
|
|
- label="处置中照片"
|
|
|
- >
|
|
|
+ <van-field v-model="czobj.images[1]" name="处置中照片" label="处置中照片">
|
|
|
<template #input>
|
|
|
<ImageUpload v-model="czobj.images[1]"></ImageUpload>
|
|
|
</template>
|
|
|
</van-field>
|
|
|
- <van-field
|
|
|
- v-model="czobj.images[2]"
|
|
|
- name="处置后照片"
|
|
|
- label="处置后照片"
|
|
|
- >
|
|
|
+ <van-field v-model="czobj.images[2]" name="处置后照片" label="处置后照片">
|
|
|
<template #input>
|
|
|
<ImageUpload v-model="czobj.images[2]"></ImageUpload>
|
|
|
</template>
|
|
@@ -227,10 +340,7 @@
|
|
|
</template>
|
|
|
</van-field>
|
|
|
<div style="padding-top: 10px">
|
|
|
- <MapSelect
|
|
|
- ref="mapSelect"
|
|
|
- v-model:formv="formlocation"
|
|
|
- ></MapSelect>
|
|
|
+ <MapSelect ref="mapSelect" v-model:formv="formlocation"></MapSelect>
|
|
|
</div>
|
|
|
</van-cell-group>
|
|
|
|
|
@@ -238,14 +348,14 @@
|
|
|
<van-row>
|
|
|
<van-col :span="12">
|
|
|
<div style="padding-right: 5px">
|
|
|
- <van-button round block type="primary" @click="onSubmit">
|
|
|
+ <van-button round block type="primary" @click="onSubmit">
|
|
|
暂存
|
|
|
</van-button>
|
|
|
</div>
|
|
|
</van-col>
|
|
|
<van-col :span="12">
|
|
|
<div style="padding-left: 5px">
|
|
|
- <van-button round block type="primary" @click="onSubmit1">
|
|
|
+ <van-button round block type="primary" @click="onSubmit1">
|
|
|
处置完成
|
|
|
</van-button>
|
|
|
</div>
|
|
@@ -295,15 +405,32 @@ import {
|
|
|
addUser,
|
|
|
} from "@/api/system/user";
|
|
|
|
|
|
-const { sys_area, task_work, task_car, task_consumables } = useDict(
|
|
|
+const {
|
|
|
+ sys_area,
|
|
|
+ task_work,
|
|
|
+ task_car,
|
|
|
+ task_consumables,
|
|
|
+ zctype,
|
|
|
+ zccz,
|
|
|
+ zcdw,
|
|
|
+ zcgg,
|
|
|
+} = useDict(
|
|
|
"sys_area",
|
|
|
"task_work",
|
|
|
"task_car",
|
|
|
- "task_consumables"
|
|
|
+ "task_consumables",
|
|
|
+ "zctype",
|
|
|
+ "zccz",
|
|
|
+ "zcdw",
|
|
|
+ "zcgg"
|
|
|
);
|
|
|
|
|
|
const activeName = "1";
|
|
|
const route = useRoute();
|
|
|
+const showpicker = ref(false);
|
|
|
+const showpicker1 = ref(false);
|
|
|
+const showpicker2 = ref(false);
|
|
|
+const showpicker3 = ref(false);
|
|
|
|
|
|
const bhobj = ref({ resonRemark: [], files: "", images: [] });
|
|
|
|
|
@@ -313,6 +440,7 @@ const czobj = ref({
|
|
|
gzldata: [],
|
|
|
clsbdata: [],
|
|
|
hcdata: [],
|
|
|
+ zcdata: [],
|
|
|
});
|
|
|
const xyobj = ref({
|
|
|
bzxytime: "",
|
|
@@ -359,11 +487,7 @@ try {
|
|
|
}
|
|
|
task.tblTaskLogList = lists;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- var logs1 = (task.tblTaskLogList ?? []).filter(
|
|
|
- (i) => i.taskStatus == -1
|
|
|
- );
|
|
|
+ var logs1 = (task.tblTaskLogList ?? []).filter((i) => i.taskStatus == -1);
|
|
|
|
|
|
if (Array.isArray(logs1) && logs1.length > 0) {
|
|
|
var log = JSON.parse(logs1[0].logDes);
|
|
@@ -373,16 +497,12 @@ try {
|
|
|
xyobj.value = log;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
var logs = (task.tblTaskLogList ?? []).filter((i) => i.taskStatus == 3);
|
|
|
|
|
|
if (Array.isArray(logs) && logs.length > 0) {
|
|
|
var log = JSON.parse(logs[0].logDes);
|
|
|
czobj.value = log;
|
|
|
- console.log(log)
|
|
|
+ console.log(log);
|
|
|
if (Array.isArray(log.images)) {
|
|
|
if (log.images.length < 3) {
|
|
|
czobj.value.images = log.images.concat(["", "", ""]);
|
|
@@ -401,6 +521,9 @@ try {
|
|
|
if (!czobj.value.hasOwnProperty("hcdata")) {
|
|
|
czobj.value.hcdata = [];
|
|
|
}
|
|
|
+ if (!czobj.value.hasOwnProperty("zcdata")) {
|
|
|
+ czobj.value.zcdata = [];
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
Toast.fail("未查到任务");
|
|
@@ -470,71 +593,61 @@ if (route.query.bh != "1") {
|
|
|
() => {
|
|
|
taskinfo.value.taskLocation = formlocation.value.locations;
|
|
|
if (formlocation.value.locations != "") {
|
|
|
- mapSelect.value.getlocationaddr(
|
|
|
- formlocation.value.locations,
|
|
|
- (data) => {
|
|
|
- var qu = data.regeocode.addressComponent.district;
|
|
|
- if (qu) {
|
|
|
- for (var i in sys_area.value) {
|
|
|
- if (sys_area.value[i].label == qu) {
|
|
|
- taskinfo.value.taskArea = sys_area.value[i].value;
|
|
|
- }
|
|
|
+ mapSelect.value.getlocationaddr(formlocation.value.locations, (data) => {
|
|
|
+ var qu = data.regeocode.addressComponent.district;
|
|
|
+ if (qu) {
|
|
|
+ for (var i in sys_area.value) {
|
|
|
+ if (sys_area.value[i].label == qu) {
|
|
|
+ taskinfo.value.taskArea = sys_area.value[i].value;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- );
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
const onSubmitbh = async () => {
|
|
|
Toast.loading({
|
|
|
message: "加载中...",
|
|
|
forbidClick: true,
|
|
|
});
|
|
|
- closeTask({
|
|
|
+ closeTask({
|
|
|
+ taskId: Number(route.query.id),
|
|
|
+ logDes: JSON.stringify(bhobj.value),
|
|
|
+ }).then(async (res) => {
|
|
|
+ var logc = gettaskitemlogdes(taskinfo.value, -1);
|
|
|
+ if (logc != null) {
|
|
|
+ xyobj.value = logc;
|
|
|
+ }
|
|
|
+ xyobj.value.czwctime = moment().format("YYYY-MM-DD HH:mm:ss");
|
|
|
+ await ddTask({
|
|
|
taskId: Number(route.query.id),
|
|
|
- logDes: JSON.stringify(bhobj.value),
|
|
|
- }).then(async (res) => {
|
|
|
- var logc = gettaskitemlogdes(taskinfo.value, -1);
|
|
|
- if (logc != null) {
|
|
|
- xyobj.value = logc;
|
|
|
- }
|
|
|
- xyobj.value.czwctime = moment().format("YYYY-MM-DD HH:mm:ss");
|
|
|
- await ddTask({
|
|
|
- taskId: Number(route.query.id),
|
|
|
- taskStatus: -1,
|
|
|
- logDes: JSON.stringify(xyobj.value),
|
|
|
- });
|
|
|
- Toast.success("成功");
|
|
|
- router.back();
|
|
|
+ taskStatus: -1,
|
|
|
+ logDes: JSON.stringify(xyobj.value),
|
|
|
});
|
|
|
-
|
|
|
+ Toast.success("成功");
|
|
|
+ router.back();
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
-watch(
|
|
|
- [() => xyobj.value.bzxytime, xyobj.value.ddxctime, xyobj.value.czwctime],
|
|
|
- () => {
|
|
|
- if (xyobj.value.bzxytime != "" && xyobj.value.czwctime != "") {
|
|
|
- xyobj.value.clsc =
|
|
|
- (
|
|
|
- (moment(xyobj.value.czwctime).unix() -
|
|
|
- moment(xyobj.value.bzxytime).unix()) /
|
|
|
- 3600.0
|
|
|
- ).toFixed(2) + "";
|
|
|
- }
|
|
|
- if (xyobj.value.ddxctime != "" && xyobj.value.czwctime != "") {
|
|
|
- xyobj.value.zysc =
|
|
|
- (
|
|
|
- (moment(xyobj.value.czwctime).unix() -
|
|
|
- moment(xyobj.value.ddxctime).unix()) /
|
|
|
- 3600.0
|
|
|
- ).toFixed(2) + "";
|
|
|
- }
|
|
|
+watch([() => xyobj.value.bzxytime, xyobj.value.ddxctime, xyobj.value.czwctime], () => {
|
|
|
+ if (xyobj.value.bzxytime != "" && xyobj.value.czwctime != "") {
|
|
|
+ xyobj.value.clsc =
|
|
|
+ (
|
|
|
+ (moment(xyobj.value.czwctime).unix() - moment(xyobj.value.bzxytime).unix()) /
|
|
|
+ 3600.0
|
|
|
+ ).toFixed(2) + "";
|
|
|
}
|
|
|
-);
|
|
|
+ if (xyobj.value.ddxctime != "" && xyobj.value.czwctime != "") {
|
|
|
+ xyobj.value.zysc =
|
|
|
+ (
|
|
|
+ (moment(xyobj.value.czwctime).unix() - moment(xyobj.value.ddxctime).unix()) /
|
|
|
+ 3600.0
|
|
|
+ ).toFixed(2) + "";
|
|
|
+ }
|
|
|
+});
|
|
|
|
|
|
const onSubmit = async () => {
|
|
|
Toast.loading({
|