|
@@ -1,23 +1,254 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div>
|
|
|
|
|
- <test />
|
|
|
|
|
|
|
+ <div class="work-order">
|
|
|
|
|
+ <Button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ class="btn"
|
|
|
|
|
+ @click="modalShow = true"
|
|
|
|
|
+ >
|
|
|
|
|
+ 新增工单
|
|
|
|
|
+ </Button>
|
|
|
|
|
+ <Table
|
|
|
|
|
+ :columns="columns"
|
|
|
|
|
+ :data="data"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template #operation="{}">
|
|
|
|
|
+ <!-- <Button>查看详情</Button> -->
|
|
|
|
|
+ <div class="text">
|
|
|
|
|
+ 详情
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </Table>
|
|
|
|
|
+ <Modal
|
|
|
|
|
+ v-model="modalShow"
|
|
|
|
|
+ title="新增工单"
|
|
|
|
|
+ @on-ok="ok"
|
|
|
|
|
+ @on-cancel="cancel"
|
|
|
|
|
+ >
|
|
|
|
|
+ <Form
|
|
|
|
|
+ ref="form"
|
|
|
|
|
+ :model="form"
|
|
|
|
|
+ >
|
|
|
|
|
+ <FormItem label="工单名称:">
|
|
|
|
|
+ <Input
|
|
|
|
|
+ v-model="form.name"
|
|
|
|
|
+ placeholder="请输入工单名称"
|
|
|
|
|
+ />
|
|
|
|
|
+ </FormItem>
|
|
|
|
|
+ <FormItem label="具体问题:">
|
|
|
|
|
+ <Input
|
|
|
|
|
+ v-model="form.question"
|
|
|
|
|
+ type="textarea"
|
|
|
|
|
+ placeholder="请输入具体问题"
|
|
|
|
|
+ />
|
|
|
|
|
+ </FormItem>
|
|
|
|
|
+ <FormItem label="图片上传:">
|
|
|
|
|
+ <div class="img">
|
|
|
|
|
+ <div
|
|
|
|
|
+ v-for="item in uploadList"
|
|
|
|
|
+ :key="item"
|
|
|
|
|
+ class="demo-upload-list"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template v-if="item.status === 'finished'">
|
|
|
|
|
+ <img :src="item.url">
|
|
|
|
|
+ <div class="demo-upload-list-cover">
|
|
|
|
|
+ <Icon
|
|
|
|
|
+ type="ios-eye-outline"
|
|
|
|
|
+ @click="handleView(item.url)"
|
|
|
|
|
+ />
|
|
|
|
|
+ <Icon
|
|
|
|
|
+ type="ios-trash-outline"
|
|
|
|
|
+ @click="handleRemove(item)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-else>
|
|
|
|
|
+ <Progress
|
|
|
|
|
+ v-if="item.showProgress"
|
|
|
|
|
+ :percent="item.percentage"
|
|
|
|
|
+ hide-info
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <Upload
|
|
|
|
|
+ ref="upload"
|
|
|
|
|
+ :show-upload-list="false"
|
|
|
|
|
+ :default-file-list="defaultList"
|
|
|
|
|
+ :on-success="handleSuccess"
|
|
|
|
|
+ :format="['jpg', 'jpeg', 'png']"
|
|
|
|
|
+ :max-size="2048"
|
|
|
|
|
+ :on-format-error="handleFormatError"
|
|
|
|
|
+ :on-exceeded-size="handleMaxSize"
|
|
|
|
|
+ :before-upload="handleBeforeUpload"
|
|
|
|
|
+ multiple
|
|
|
|
|
+ type="drag"
|
|
|
|
|
+ action="//jsonplaceholder.typicode.com/posts/"
|
|
|
|
|
+ style="display: inline-block; width: 0.58rem"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div
|
|
|
|
|
+ style="width: 0.58rem; height: 0.58rem; line-height: 0.58rem"
|
|
|
|
|
+ >
|
|
|
|
|
+ <Icon
|
|
|
|
|
+ type="ios-camera"
|
|
|
|
|
+ size="20"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </Upload>
|
|
|
|
|
+ <Modal
|
|
|
|
|
+ v-model="visible"
|
|
|
|
|
+ title="图片"
|
|
|
|
|
+ >
|
|
|
|
|
+ <img
|
|
|
|
|
+ v-if="visible"
|
|
|
|
|
+ :src="imgName"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ >
|
|
|
|
|
+ </Modal>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </FormItem>
|
|
|
|
|
+ </Form>
|
|
|
|
|
+ </Modal>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script>
|
|
<script>
|
|
|
-import test from '@/components/1.vue'
|
|
|
|
|
-import useUserStore from '../store/user'
|
|
|
|
|
export default {
|
|
export default {
|
|
|
- components: {
|
|
|
|
|
- test
|
|
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ // modal显示隐藏
|
|
|
|
|
+ modalShow: false,
|
|
|
|
|
+
|
|
|
|
|
+ columns: [ {
|
|
|
|
|
+ title: '工单名称',
|
|
|
|
|
+ key: 'name',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: '创建时间',
|
|
|
|
|
+ key: 'time',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: '创建人',
|
|
|
|
|
+ key: 'people',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ title: '是否完成',
|
|
|
|
|
+ key: 'complete',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ title: '操作',
|
|
|
|
|
+ slot: 'operation',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ data: [ {
|
|
|
|
|
+ name: '问题1',
|
|
|
|
|
+ people: '王二麻子',
|
|
|
|
|
+ complete: '是',
|
|
|
|
|
+ time: '2016-10-03'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: '问题2',
|
|
|
|
|
+ people: '王二麻子',
|
|
|
|
|
+ complete: '是',
|
|
|
|
|
+ time: '2016-10-03'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: '问题3',
|
|
|
|
|
+ people: '王二麻子',
|
|
|
|
|
+ complete: '是',
|
|
|
|
|
+ time: '2016-10-03'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: '问题4',
|
|
|
|
|
+ people: '王二麻子',
|
|
|
|
|
+ complete: '是',
|
|
|
|
|
+ time: '2016-10-03'
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ // 图片
|
|
|
|
|
+
|
|
|
|
|
+ defaultList: [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'a42bdcc1178e62b4694c830f028db5c0',
|
|
|
|
|
+ url: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F113020142315%2F201130142315-1-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1657965995&t=bc5851d837f31836a234ba8d5c0b0144'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'bc7521e033abdd1e92222d733590f104',
|
|
|
|
|
+ url: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F063021120F9%2F210630120F9-1-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1657966092&t=abd300eae0fcc7d00058060b27cd68dd'
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ imgName: '',
|
|
|
|
|
+ visible: false,
|
|
|
|
|
+ uploadList: []
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
- test() {
|
|
|
|
|
- console.log(123)
|
|
|
|
|
|
|
+ ok() {
|
|
|
|
|
+ this.$Message.info('Clicked ok')
|
|
|
|
|
+ },
|
|
|
|
|
+ cancel() {
|
|
|
|
|
+ this.$Message.info('Clicked cancel')
|
|
|
|
|
+ },
|
|
|
|
|
+ handleView(name) {
|
|
|
|
|
+ this.imgName = name
|
|
|
|
|
+ this.visible = true
|
|
|
|
|
+ },
|
|
|
|
|
+ handleRemove(file) {
|
|
|
|
|
+ const { fileList } = this.$refs.upload
|
|
|
|
|
+ this.$refs.upload.fileList.splice(fileList.indexOf(file), 1)
|
|
|
|
|
+ },
|
|
|
|
|
+ handleSuccess(res, file) {
|
|
|
|
|
+ file.url = 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F113020142315%2F201130142315-1-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1657965995&t=bc5851d837f31836a234ba8d5c0b0144'
|
|
|
|
|
+ file.name = '7eb99afb9d5f317c912f08b5212fd69a'
|
|
|
|
|
+ },
|
|
|
|
|
+ handleFormatError(file) {
|
|
|
|
|
+ this.$Notice.warning({
|
|
|
|
|
+ title: 'The file format is incorrect',
|
|
|
|
|
+ desc: `File format of ${file.name} is incorrect, please select jpg or png.`
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ handleMaxSize(file) {
|
|
|
|
|
+ this.$Notice.warning({
|
|
|
|
|
+ title: 'Exceeding file size limit',
|
|
|
|
|
+ desc: `File ${file.name} is too large, no more than 2M.`
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ handleBeforeUpload() {
|
|
|
|
|
+ const check = this.uploadList.length < 5
|
|
|
|
|
+ if (!check) {
|
|
|
|
|
+ this.$Notice.warning({
|
|
|
|
|
+ title: 'Up to five pictures can be uploaded.'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ return check
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
mounted() {
|
|
mounted() {
|
|
|
- const userStore = useUserStore()
|
|
|
|
|
- console.log(66, userStore)
|
|
|
|
|
|
|
+ this.uploadList = this.$refs.upload.fileList
|
|
|
|
|
+ console.log('====================================')
|
|
|
|
|
+ console.log(this.$refs.upload.fileList)
|
|
|
|
|
+ console.log('====================================')
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+</script>
|
|
|
|
|
+<style lang="less" scoped>
|
|
|
|
|
+.work-order {
|
|
|
|
|
+ .btn {
|
|
|
|
|
+ margin: 0.3rem 0.2rem;
|
|
|
}
|
|
}
|
|
|
|
|
+ .text {
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ color: skyblue;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+:deep(.ivu-input-wrapper) {
|
|
|
|
|
+ width: 80%;
|
|
|
|
|
+}
|
|
|
|
|
+img {
|
|
|
|
|
+ width: 0.58rem;
|
|
|
|
|
+ height: 0.58rem;
|
|
|
}
|
|
}
|
|
|
-</script>
|
|
|
|
|
|
|
+</style>
|